package cn.ges.movie.vo.auth

import cn.ges.base.sta.constant.StaBaseConstant
import cn.ges.base.sta.entity.user.BgUser
import cn.ges.base.sta.vo.base.BgSimpleModifyVO
import cn.ges.encryption.Md5PasswordUtil
import cn.ges.string.StringUtil
import com.alibaba.fastjson.annotation.JSONField
import com.alibaba.fastjson.serializer.ToStringSerializer
import com.baomidou.mybatisplus.annotation.IdType
import com.baomidou.mybatisplus.annotation.TableId
import java.time.Instant

/**
 *
 * @author gespent@163.com
 * @date 2021/4/16 10:31
 */
open class MobileRegisterVO : BgSimpleModifyVO<BgUser>() {

    /**
     * 用户昵称，限制20个字符
     */
    var userName: String? = null

    /**
     * MD5加密后的用户密码。可以为null，本行不作为SQL条件
     */
    var password: String? = null

    /**
     * ,号分割的用户所有权限
     */
    var allAuth: String = StaBaseConstant.BG_USER_AUTH

    /**
     * 用户状态 0正常 1表示封禁
     */
    var state: Int = 0

    /**
     * 手机号，固定11位,0表示未绑定手机
     */
    var mobileNum: String? = null

    override fun check(): Boolean {
        if (!StringUtil.isNum(mobileNum)||mobileNum!!.length!=11 ) {
            errorMsg="请输入11位手机号码"
            return false
        }
        if (password == null || password!!.length !in 8..16) {
            errorMsg="请输入8-16位密码"
            return false
        }
        userName = "$mobileNum"
        return true
    }
}